/**************************************************************************
 *         Copyright(c) 2007 by Sunplus mMedia  Technology Co., Ltd.       *
 *                                                                         *
 *  This software is copyrighted by and is the property of Sunplus mMedia  *
 *  Technology Co., Ltd. All rights are reserved by Sunplus mMedia Techno- *
 *  logy Co., Ltd. This software may only be used in accordance with the   *
 *  corresponding license agreement. Any unauthorized use, duplication,    *
 *  distribution, or disclosure of this software is expressly forbidden.   *
 *                                                                         *
 *  This Copyright notice "M U S T" not be removed or modified without     *
 *  prior written consent of Sunplus mMedia Technology  Co., Ltd.          *
 *                                                                         *
 *  Sunplus mMedia Technology Co., Ltd. reserves the right to modify this  *
 *  software without notice.                                               *
 *                                                                         *
 *  Sunplus mMedia Technology Co., Ltd.                                    *
 *  19-1, Innovation First Road, Science-Based Industrial Park,            *
 *  Hsin-Chu, Taiwan, R.O.C.                                               *
 *                                                                         *
 **************************************************************************/
#ifndef __SP1K_CDSP_API_H__
#define __SP1K_CDSP_API_H__

/** \file sp1k_cdsp_api.h
 * @brief		Spca1528 cdsp related interface
 */

#include "cdsp_api.h"
#include "sp1k_def.h"

/**************************************************************************
 *                           C O N S T A N T S                            *
 **************************************************************************/

/**************************************************************************
 *                              M A C R O S                               *
 **************************************************************************/

/**************************************************************************
 *                          D A T A    T Y P E S                          *
 **************************************************************************/

/**************************************************************************
 *                         G L O B A L    D A T A                         *
 **************************************************************************/

/**************************************************************************
 *                 E X T E R N A L    R E F E R E N C E S                 *
 **************************************************************************/

/**************************************************************************
 *               F U N C T I O N    D E C L A R A T I O N S               *
 **************************************************************************/
/**
 * @fn void sp1kCDSPParaInit(UINT8 fileId);
 * @brief	cdsp parameter initial. It read CDSPPARA.BIN and load parameter to system. This api must be called before preview or sensort start.
 * @retval none
 * @see sp1kCDSPGammaParaInit()
 */
void sp1kCDSPParaInit( UINT8 fileId );

/**
 * @fn void sp1kCDSPGammaParaInit( UINT8 fileId );
 * @brief	gamma table initial. It read GAMMA000.BIN and load gamma table to system. This api must be called before preview or sensort start.
 * @retval none
 * @see sp1kCDSPGammaParaInit()
 */
void sp1kCDSPGammaParaInit( UINT8 fileId );

/**
 * @fn void sp1kCDSPLcInit( UINT8 fileId );
 * @brief	lens shading initial. It read LensLut.bin and load lens shading table to system. This api must be called before preview or sensort start.
 * @retval none
 * @see sp1kCDSPGammaParaInit()
 */
void sp1kCDSPLcInit( UINT8 fileId );

UINT8 sp1kCdspManualWbGainSet(UINT8 WbRGain, UINT8 WbBGain);

/**
 * @fn void sp1kCdspEffect_ContrastSet(void);
 * @brief	set color of preivew and snap image to contrast effect
 * @retval none
 * @see sp1kPbEffectSet()
 */
void sp1kCdspEffect_ContrastSet( void );

/**
 * @fn void sp1kCdspEffect_BlackWhite(void);
 * @brief	set color of preivew and snap image to black and white effect
 * @retval none
 * @see sp1kPbEffectSet()
 */
void sp1kCdspEffect_BlackWhite( void );

/**
 * @fn void sp1kCdspEffect_Cold(void);
 * @brief	set color of preivew and snap image to cold effect
 * @retval none
 * @see sp1kPbEffectSet()
 */
void sp1kCdspEffect_Cold( void );

/**
 * @fn void sp1kCdspEffect_Warm(void);
 * @brief	set color of preivew and snap image to warm effect
 * @retval none
 * @see sp1kPbEffectSet()
 */
void sp1kCdspEffect_Warm( void );

/**
 * @fn void sp1kCdspEffect_Sunset(void);
 * @brief	set color of preivew and snap image to sunset effect
 * @retval none
 * @see sp1kPbEffectSet()
 */
void sp1kCdspEffect_Sunset( void );

/**
 * @fn void sp1kCdspEffect_Sepia(void);
 * @brief	set color of preivew and snap image to sepia effect
 * @retval none
 * @see sp1kPbEffectSet()
 */
void sp1kCdspEffect_Sepia( void );

/**
 * @fn void sp1kCdspEffect_Negative(void);
 * @brief	set color of preivew and snap image to negative effect
 * @retval none
 * @see sp1kPbEffectSet()
 */
void sp1kCdspEffect_Negative( void );

/**
 * @fn void sp1kCdspEffect_Binarize(void);
 * @brief	set color of preivew and snap image to binarize effect
 * @retval none
 * @see sp1kPbEffectSet()
 */
void sp1kCdspEffect_Binarize( void );

/**
 * @fn void sp1kCdspEffect_Red(void);
 * @brief	set color of preivew and snap image to red effect
 * @retval none
 * @see sp1kPbEffectSet()
 */
void sp1kCdspEffect_Red( void );

/**
 * @fn void sp1kCdspEffect_Blue(void);
 * @brief	set color of preivew and snap image to blue effect
 * @retval none
 * @see sp1kPbEffectSet()
 */
void sp1kCdspEffect_Blue( void );

/**
 * @fn void sp1kCdspEffect_Green(void);
 * @brief	set color of preivew and snap image to green effect
 * @retval none
 * @see sp1kPbEffectSet()
 */
void sp1kCdspEffect_Green( void );

/**
 * @fn void sp1kCdspEffect_Normal(void);
 * @brief	set color of preivew and snap image to normal effect
 * @retval none
 * @see sp1kPbEffectSet()
 */
void sp1kCdspEffect_Normal( void );

#endif //__SP1K_OSD_API_H__

